import request from "../../../../utils/request"
Page({
  data: {
    familyName: '',
    idCard: '',
    relation: '' // 称呼初始值
  },

  // 家人姓名输入（保持不变，正常工作）
  onFamilyNameChange(e) {
    this.setData({ familyName: e.detail.value || '' });
  },

  // 身份证号输入（保持不变）
  onIdCardChange(e) {
    this.setData({ idCard: e.detail.value || '' });
  },

  // 【重点修改1：称呼输入事件，确保触发并正确赋值】
  // 重命名方法名，避免可能的重名冲突
  onRelationInput(e) { 
    const inputValue = e.detail.value || '';
    console.log('称呼输入值：', inputValue); // 强制打印，确认触发
    // 直接赋值，不做任何过滤
    this.setData({ relation: inputValue });
  },

  // 暂时移除bindblur，避免干扰（若需调试可稍后再加）
  // onRelationBlur(e) {
  //   const inputValue = e.detail.value;
  //   console.log('称呼失焦值：', inputValue);
  // },

  onLoad() {},

  toBack() {
    wx.navigateBack({
      delta: 1,
      fail: () => wx.switchTab({ url: '/pages/index/index' })
    });
  },

  validateForm() {
    const { familyName, idCard, relation } = this.data;

    // 家人姓名校验（保持不变）
    if (!familyName.trim()) {
      wx.showToast({ title: '请输入家人姓名', icon: 'none', duration: 1500 });
      return false;
    }
    if (familyName.trim().length > 8) {
      wx.showToast({ title: '家人姓名不能超过8个字符', icon: 'none', duration: 1500 });
      return false;
    }

    // 身份证号校验（保持不变）
    const idCardReg = /(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    if (!idCard.trim()) {
      wx.showToast({ title: '请输入身份证号', icon: 'none', duration: 1500 });
      return false;
    }
    if (!idCardReg.test(idCard.trim())) {
      wx.showToast({ title: '请输入有效的18位身份证号', icon: 'none', duration: 1500 });
      return false;
    }

    // 【重点修改2：称呼校验简化，优先确保汉字通过】
    // 先仅用trim()判断（汉字不会被trim()去除）
    if (!relation.trim()) { 
      wx.showToast({ title: '请输入您对家人的称呼', icon: 'none', duration: 1500 });
      return false;
    }
    // 长度校验（汉字占1个字符，5以内正常）
    if (relation.trim().length > 5) {
      wx.showToast({ title: '称呼不能超过5个字符', icon: 'none', duration: 1500 });
      return false;
    }

    // 保存处理后的值（仅去除首尾空格）
    this.setData({ cleanRelation: relation.trim() });
    return true;
  },
 
  async bindFamily() {
    if (!this.validateForm()) return;
    const userInfo = wx.getStorageSync('loginUserInfo');
    const { familyName, idCard, cleanRelation } = this.data;
    console.log('提交的称呼：', cleanRelation); // 确认最终值

    try {
      const res = await request({
        url: '/bindFamily/add',
        method: 'POST',
        data: {
          elderlyName: familyName.trim(),
          elderlyIdCard: idCard.trim(),
          extraField1: cleanRelation, // 传递处理后的值
          wxUserId: userInfo.userId
        },
        loadingText: '绑定中...',
        errorText: '绑定失败，请重试'
      });

      if (res.data.code === 200) {
        wx.showToast({ title: '绑定成功', icon: 'success', duration: 1500 });
        setTimeout(() => this.toBack(), 1500);
      } else {
        wx.showToast({ title: res.data.msg || '绑定失败', icon: 'none', duration: 1500 });
      }
    } catch (err) {
      console.error('绑定请求异常：', err);
    }
  },

  onPullDownRefresh() {
    this.setData({ familyName: '', idCard: '', relation: '', cleanRelation: '' });
    wx.stopPullDownRefresh();
  }
});